Skip to content

Conversation

@mmcky
Copy link
Contributor

@mmcky mmcky commented Oct 30, 2025

Summary

Implements Phase 1 from the publishing workflow upgrade: HTML archive backup on releases.

Changes

This PR adds steps to the publish.yml workflow to create and upload HTML archives as GitHub release assets:

  1. Create HTML archive - Compresses _build/html/ into a .tar.gz archive after the HTML build
  2. Generate checksum - Creates SHA256 hash for integrity verification (html-checksum.txt)
  3. Create manifest - Generates metadata file with build information (html-manifest.json)
  4. Upload to release - Attaches all three files to the GitHub release using softprops/action-gh-release@v1

Release Assets Created

Each publish-* tag will now include:

• 📦 lecture-python-programming-fa-html-{tag}.tar.gz - Full HTML site archive (~200-300 MB)
• 🔐 html-checksum.txt - SHA256 verification file
• 📋 html-manifest.json - Build metadata (tag, commit, timestamp, size, file count)

Key Features

• ✅ Does not modify _build/html/ directory (gh-pages deployment unaffected)
• ✅ Preserves existing release notes (no body override)
• ✅ Automatic tag detection from workflow context
• ✅ Creates safety net before Phase 2 (gh-pages history cleanup)

Testing Plan

After merge, test with a publish-test-* tag to verify:

  1. Workflow completes successfully
  2. Three HTML assets are attached to release
  3. Archive can be downloaded and extracted
  4. Checksum verification works: sha256sum -c html-checksum.txt

Related

mmcky added 3 commits October 27, 2025 16:08
- Translate functions.md from English to Persian
- Update _toc.yml to include functions lecture
- Maintain all code examples and technical syntax
- Preserve right-to-left (RTL) formatting for Persian text
- Changed from treating warnings as errors to allowing warnings
- This enables preview builds to complete successfully
- Kept -n (nitpick) and --keep-going flags for better error reporting
Implements Phase 1: HTML archive backup on releases.

## Changes

This commit adds steps to the publish.yml workflow to create and upload HTML archives as GitHub release assets:

1. Create HTML archive - Compresses _build/html/ into a .tar.gz archive after the HTML build
2. Generate checksum - Creates SHA256 hash for integrity verification (html-checksum.txt)
3. Create manifest - Generates metadata file with build information (html-manifest.json)
4. Upload to release - Attaches all three files to the GitHub release using softprops/action-gh-release@v1

## Release Assets Created

Each publish-* tag will now include:

• 📦 lecture-python-programming-fa-html-{tag}.tar.gz - Full HTML site archive
• 🔐 html-checksum.txt - SHA256 verification file
• 📋 html-manifest.json - Build metadata (tag, commit, timestamp, size, file count)

## Key Features

• ✅ Does not modify _build/html/ directory (gh-pages deployment unaffected)
• ✅ Preserves existing release notes (no body override)
• ✅ Automatic tag detection from workflow context
• ✅ Creates safety net before Phase 2 (gh-pages history cleanup)
@netlify
Copy link

netlify bot commented Oct 30, 2025

Deploy Preview for majestic-griffin-10b166 ready!

Name Link
🔨 Latest commit 53f70ce
🔍 Latest deploy log https://app.netlify.com/projects/majestic-griffin-10b166/deploys/6902f1182b31c400087390e2
😎 Deploy Preview https://deploy-preview-15--majestic-griffin-10b166.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions
Copy link

github-actions bot commented Oct 30, 2025

@mmcky mmcky merged commit 6205629 into main Oct 30, 2025
5 checks passed
@mmcky mmcky deleted the phase1-html-archive-releases branch October 30, 2025 05:03
@github-actions github-actions bot temporarily deployed to pull request October 30, 2025 05:08 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants